home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 37
/
Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso
/
Aminet
/
dev
/
lang
/
sofa.lha
/
sofa
/
smalleiffel
/
bin_c
/
compile_to_c7.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-03-25
|
133KB
|
5,392 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://SmallEiffel.loria.fr/ --
*/
#include "compile_to_c.h"
void r87make(T87* C,T0* a1,T0* a2){
/*[IF*/
if((X82to_string(a1))==((void*)(X82to_string(a2)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a2),&se_tmp0)));
}
r87fatal_error(((T0*)ms87_91200));
}
/*FI]*/
(/*SFN*/C->_old_name)=a1;
(/*SFN*/C->_new_name)=a2;
}
void r87fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T0*oBC396tmp_string=NULL;
T2 r396id(T396* C){
T2 R=0;
R=X52id((/*RF2*/(C)->_current_type/*8*/));
return R;
}
void r396address_of_c_mapping_wrapper(T396* C){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
r396address_of_wrapper_name_in(C,oBC334c_code);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
void r396collect_c_tmp(T396* C){
T0* _c=NULL;
T0* _a=NULL;
/*[IF*/
if(X52is_user_expanded((/*RF2*/(C)->_result_type/*32*/))){
/*[IF*/
if(X52is_dummy_expanded((/*RF2*/(C)->_result_type/*32*/))){
}
else if(r396isa_in_line(C)){
{int z1=(/*RF2*/(C)->_in_line_status/*60*/);
if((6==z1)){
_a=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*44*/)))->_first_one/*8*/)/*)*/;
if(NULL!=(_a)){
switch(((T0*)_a)->id){
case 282:
break;
default:
_a=NULL;
}
}_c=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}X115finalize(_c);
X334collect_c_tmp(X115run_feature(_c));
}
}
}
else{
r325se_tmp_add((T0*)C);
}
/*FI]*/
}
/*FI]*/
}
void r396fall_down(T396* C){
T0* _rf=NULL;
T0* _sub_name=NULL;
T0* _sub_bc=NULL;
T0* _current_bc=NULL;
T0* _sub_rc=NULL;
T0* _current_rc=NULL;
T2 _i=0;
T0* _running=NULL;
_current_rc=X52run_class((/*RF2*/(C)->_current_type/*8*/));
_running=(/*RF2*/(((T50*)_current_rc))->_running/*9*/);
/*[IF*/
if((_running)!=((void*)(NULL))){
_current_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
_i=(/*RF2*/(((T53*)_running))->_lower/*12*/);
while (!((_i)>((/*RF2*/(((T53*)_running))->_upper/*8*/))))
{
_sub_rc=r53item(((T53*)_running),_i);
/*[IF*/
if((_sub_rc)!=((void*)(_current_rc))){
_sub_bc=X52base_class((/*RF2*/(((T50*)_sub_rc))->_current_type/*0*/));
_sub_name=r51new_name_of(((T51*)_sub_bc),_current_bc,(/*RF2*/(C)->_name/*12*/));
_rf=r50get_feature(((T50*)_sub_rc),_sub_name);
}
/*FI]*/
_i=(_i)+(1);
}
}
/*FI]*/
}
void r396compute_use_current(T396* C){
T0* _ct=NULL;
_ct=(/*RF2*/(C)->_current_type/*8*/);
/*[IF*/
if(X52is_reference(_ct)){
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
(/*SFN*/C->_use_current_state)=22;
}
else{
r396std_compute_use_current(C);
}
/*FI]*/
}
else{
r396std_compute_use_current(C);
}
/*FI]*/
}
T0* r396body_one_result_dca(T396* C){
T0* R=NULL;
T0* _bf=NULL;
T0* _r=NULL;
T0* _rf=NULL;
T0* _writable_attribute=NULL;
T0* _c0c=NULL;
T0* _c=NULL;
_c=r396body_one_result(C);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}/*[IF*/
if((_c)!=((void*)(NULL))){
_c0c=/*SSWARF2*//*X115target*/(/*RF2*/(((T134*)_c))->_target/*4*/);
if(NULL!=(_c0c)){
switch(((T0*)_c0c)->id){
case 140:
break;
default:
_c0c=NULL;
}
}/*[IF*/
if((_c0c)!=((void*)(NULL))){
/*[IF*/
if(X104is_current((/*RF2*/(((T140*)_c0c))->_target/*4*/))){
_writable_attribute=(/*RF2*/(((T140*)_c0c))->_run_feature/*12*/);
if(NULL!=(_writable_attribute)){
switch(((T0*)_writable_attribute)->id){
case 345:
break;
default:
_writable_attribute=NULL;
}
}/*[IF*/
if((_writable_attribute)!=((void*)(NULL))){
_r=(/*RF2*/((T50*)(r345run_class(((T345*)_writable_attribute))))->_running/*9*/);
_rf=X115run_feature(_c);
/*[IF*/
if((_rf)==((void*)(NULL))){
R=_c;
}
else if(((_r)!=((void*)(NULL)))&&((r53count(((T53*)_r)))==(1))){
_r=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class(((T368*)_rf))))->_running/*9*/);
/*[IF*/
if(((_r)!=((void*)(NULL)))&&((r53count(((T53*)_r)))==(1))){
_bf=(/*RF2*/(((T345*)_writable_attribute))->_base_feature/*24*/);
R=_c;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r396c_define(T396* C){
/*[IF*/
if(r396isa_in_line(C)){
r325incr_inlined_function_count((T325*)(oBC13cpp));
}
else{
/*[IF*/
if(r396use_current(C)){
r325incr_function_count((T325*)(oBC13cpp));
}
else{
r325incr_real_function_count((T325*)(oBC13cpp));
}
/*FI]*/
r396define_prototype(C);
r396c_define_opening(C);
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
r215compile_to_c((T215*)((/*RF2*/(C)->_routine_body/*44*/)));
}
/*FI]*/
r396c_define_closing(C);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_8184));
/*]*/
r396c_frame_descriptor(C);
}
/*FI]*/
}
T0* r396clients(T396* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_clients_memory/*4*/))==((void*)(NULL))){
_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
_bfbc=(/*RF2*/((T304*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/);
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=(/*RF2*/((T304*)((/*RF2*/(C)->_base_feature/*24*/)))->_clients/*16*/);
}
else{
R=r51clients_for(((T51*)_bc),(/*RF2*/(C)->_name/*12*/));
}
/*FI]*/
(/*SFN*/C->_clients_memory)=R;
}
else{
R=(/*RF2*/(C)->_clients_memory/*4*/);
}
/*FI]*/
return R;
}
void r396put_c_name_tag(T396* C){
T0* _fn=NULL;
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\42');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
_fn=/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T304*)((/*RF2*/(C)->_base_feature/*24*/)))->_names/*8*/))))->_first/*0*/)/*)*/;
/*[IF*/
if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
X82put_cpp_tag((/*RF2*/(C)->_name/*12*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\40');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
X82put_cpp_tag(_fn);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string(_fn));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_1108));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/((T61*)(/*(IRF4.6base_class_name*/(/*RF2*/(((T51*)((/*RF2*/((T304*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/))))->_name/*18*/)/*)*/))->_to_string/*8*/));
/*]*/
/*[IF*/
if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\42');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
T6 r396can_be_dropped(T396* C){
T6 R=0;
R=((((((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL)))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL))))&&(((/*RF2*/(C)->_require_assertion/*36*/))==((void*)(NULL))))&&(((/*RF2*/(C)->_ensure_assertion/*52*/))==((void*)(NULL))))&&(((/*RF2*/(C)->_rescue_compound/*48*/))==((void*)(NULL)));
/*[IF*/
if(R){
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
R=0;
}
/*FI]*/
}
/*FI]*/
return R;
}
void r396std_compute_use_current(T396* C){
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
/*[IF*/
if(r376use_current((T376*)((/*RF2*/(C)->_require_assertion/*36*/)))){
(/*SFN*/C->_use_current_state)=22;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
/*[IF*/
if(r215use_current((T215*)((/*RF2*/(C)->_routine_body/*44*/)))){
(/*SFN*/C->_use_current_state)=22;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
/*[IF*/
if(r215use_current((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)))){
(/*SFN*/C->_use_current_state)=22;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
/*[IF*/
if(r214use_current((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)))){
(/*SFN*/C->_use_current_state)=22;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
(/*SFN*/C->_use_current_state)=21;
}
/*FI]*/
}
T6 r396a_eq_neq(T396* C){
T6 R=0;
T0* _e=NULL;
T0* _rf=NULL;
T0* _c=NULL;
_c=r396body_one_result_dca(C);
/*[IF*/
if(((_c)!=((void*)(NULL)))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL)))){
_rf=X115run_feature(_c);
/*[IF*/
if(((_rf)==((void*)(NULL)))&&((X115arg_count(_c))==(1))){
_e=/*SSFRF4*//*X139expression*/r139expression((T139*)(X115arguments(_c)),1);
{int z1=X104isa_dca_inline_argument(_e);
if((0==z1)){
}
else
if((-1==z1)){
R=((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL));
}
else{/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
R=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*28*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)==(1);
}
/*FI]*/
}}
}
/*FI]*/
}
/*FI]*/
return R;
}
void r396address_of_c_define(T396* C,T0* a1){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
/*[IF*/
if(r396isa_in_line(C)){
r396address_of_c_define_wrapper(C,a1);
}
else if(r396use_current(C)){
}
else{
r396address_of_c_define_wrapper(C,a1);
}
/*FI]*/
}
else{
r396address_of_c_define_wrapper(C,a1);
}
/*FI]*/
}
T0* r396run_ensure(T396* C){
T0* R=NULL;
R=r51run_ensure((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
return R;
}
T6 r396empty_or_null_body(T396* C){
T6 R=0;
T0* _rb=NULL;
_rb=(/*RF2*/(C)->_routine_body/*44*/);
/*[IF*/
if((((_rb)==((void*)(NULL)))||(/*(IRF4.7empty_or_null_body*/((/*RF2*/(((T215*)_rb))->_first_one/*8*/))==(NULL)/*)*/))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL)))){
(/*SFN*/C->_static_value_mem)=0;
(/*SFN*/C->_is_static_flag)=1;
R=1;
}
/*FI]*/
return R;
}
void r396default_mapping_function(T396* C){
T6 _tcbd=0;
T6 _uc=0;
T6 _no_check=0;
_no_check=r47no_check((T47*)(oBC13run_control));
_uc=r396use_current(C);
/*[IF*/
if(!(_uc)){
_tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
r396mapping_name(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(_no_check){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_759));
/*]*/
}
/*FI]*/
/*[IF*/
if(_uc){
/*[IF*/
if(_no_check){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325put_target_as_target((T325*)(oBC13cpp));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
/*[IF*/
if((_uc)||(_no_check)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325put_arguments((T325*)(oBC13cpp));
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if((!(_uc))&&(_tcbd)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r396address_of_wrapper_name_in(T396* C,T0* a1){
r7extend(((T7*)a1),((T3)'W'));
r2append_in(r396id(C),a1);
X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
}
void r396make(T396* C,T0* a1,T0* a2,T0* a3){
(/*SFN*/C->_current_type)=a1;
(/*SFN*/C->_name)=a2;
(/*SFN*/C->_base_feature)=a3;
r50add_rf((T50*)(r396run_class(C)),(T0*)C,X82to_key(a2));
r49incr_magic_count((T49*)(oBC13small_eiffel));
(/*SFN*/C->_use_current_state)=23;
(/*SFN*/C->_stupid_switch_state)=23;
r49push((T49*)(oBC13small_eiffel),(T0*)C);
r396initialize(C);
r49pop((T49*)(oBC13small_eiffel));
}
T6 r396dca(T396* C){
T6 R=0;
T0* _args=NULL;
T0* _rf=NULL;
T0* _c=NULL;
_c=r396body_one_result_dca(C);
/*[IF*/
if(((_c)!=((void*)(NULL)))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL)))){
_rf=X115run_feature(_c);
/*[IF*/
if((_rf)!=((void*)(NULL))){
/*[IF*/
if((_rf)!=((void*)(C))){
/*[IF*/
if(X52is_user_expanded(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/))){
}
else{
_args=X115arguments(_c);
/*[IF*/
if((_args)==((void*)(NULL))){
R=((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL));
}
else{
R=X139isa_dca_inline(_args,(T0*)C,_rf);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r396c_assertion_flag(T396* C){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
r396c_frame_descriptor_name_in(C,oBC334c_code);
r7append((T7*)(oBC334c_code),((T0*)ms334_30285));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
void r396c_define_opening(T396* C){
T0* _oresult=NULL;
T6 _ensure_check=0;
T6 _no_check=0;
T0* _t=NULL;
_no_check=r47no_check((T47*)(oBC13run_control));
_ensure_check=r47ensure_check((T47*)(oBC13run_control));
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_21346));
/*]*/
}
/*FI]*/
/*[IF*/
/*AF*/if(((/*RF2*/(C)->_result_type/*32*/))!=((void*)(NULL))){
_t=X52run_type((/*RF2*/(C)->_result_type/*32*/));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
X52c_type_for_result_in(_t,oBC334c_code);
r7append((T7*)(oBC334c_code),((T0*)ms334_525));
X52c_initialize_in(_t,oBC334c_code);
r7append((T7*)(oBC334c_code),((T0*)ms14_138));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
/*[IF*/
if(_no_check){
r7append((T7*)(oBC13c_frame_descriptor_locals),((T0*)ms334_10538));
r203increment((T203*)(oBC13c_frame_descriptor_local_count));
r7append((T7*)(oBC13c_frame_descriptor_format),((T0*)ms15_7314));
X52c_frame_descriptor(_t);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_local_vars/*40*/))!=((void*)(NULL))){
r169c_declare((T169*)((/*RF2*/(C)->_local_vars/*40*/)));
}
/*FI]*/
/*[IF*/
if(_ensure_check){
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
r214c_declare_for_old((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_no_check){
/*[IF*/
if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
r7copy((T7*)(oBC334c_code),((T0*)ms334_21567));
/*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
/*]*/
r7extend((T7*)(oBC334c_code),((T3)'\135'));
r7append((T7*)(oBC334c_code),((T0*)ms14_138));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
/*FI]*/
r396c_initialize_ds_one_by_one(C);
/*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
T2 _j=0;
T2 _i=0;
_j=1;
while (!(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))==(_i)))
{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_8120));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_i);
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_308));
/*]*/
_c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
while (!((_c)==(((T3)'\54'))))
{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=_c;
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
_j=(_j)+(1);
_c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
}
_j=(_j)+(1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
_i=(_i)+(1);
}
}/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520a));
/*]*/
}
/*FI]*/
/*[IF*/
if(_ensure_check){
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
r214compile_to_c_old((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_23008));
/*]*/
r215compile_to_c((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_47752));
/*]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_local_vars/*40*/))!=((void*)(NULL))){
r169initialize_expanded((T169*)((/*RF2*/(C)->_local_vars/*40*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_7436));
/*]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
r376compile_to_c((T376*)((/*RF2*/(C)->_require_assertion/*36*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_57680));
/*]*/
/*[IF*/
if(_no_check){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11988));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520));
/*]*/
}
/*FI]*/
}
/*FI]*/
}
void r396c_define_closing(T396* C){
/*[IF*/
if(r47ensure_check((T47*)(oBC13run_control))){
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
r214compile_to_c((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r396use_current(C)){
/*[IF*/
if((X82to_string((/*RF2*/(C)->_name/*12*/)))!=((void*)(((T0*)ms15_8750)))){
r325current_class_invariant((/*RF2*/(C)->_current_type/*8*/));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_25380));
/*]*/
}
/*FI]*/
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_19400));
/*]*/
}
/*FI]*/
}
void r396initialize(T396* C){
(/*SFN*/C->_arguments)=(/*RF2*/((T304*)((/*RF2*/(C)->_base_feature/*24*/)))->_arguments/*20*/);
(/*SFN*/C->_result_type)=(/*RF2*/((T304*)((/*RF2*/(C)->_base_feature/*24*/)))->_result_type/*56*/);
/*[IF*/
if(X52is_like_argument((/*RF2*/(C)->_result_type/*32*/))){
/*[IF*/
if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
{T178*n=((T178*)malloc(sizeof(*n))/*12*/);
*n=M178;
r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
(/*SFN*/C->_arguments)=((T0*)n);
}
}
/*FI]*/
(/*SFN*/C->_result_type)=X52to_runnable((/*RF2*/(C)->_result_type/*32*/),(/*RF2*/(C)->_current_type/*8*/));
}
else{
(/*SFN*/C->_result_type)=X52to_runnable((/*RF2*/(C)->_result_type/*32*/),(/*RF2*/(C)->_current_type/*8*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
/*[IF*/
if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
{T178*n=((T178*)malloc(sizeof(*n))/*12*/);
*n=M178;
r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
(/*SFN*/C->_arguments)=((T0*)n);
}
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
(/*SFN*/C->_local_vars)=(/*RF2*/((T304*)((/*RF2*/(C)->_base_feature/*24*/)))->_local_vars/*40*/);
/*[IF*/
if(((/*RF2*/(C)->_local_vars/*40*/))!=((void*)(NULL))){
(/*SFN*/C->_local_vars)=r169to_runnable((T169*)((/*RF2*/(C)->_local_vars/*40*/)),(/*RF2*/(C)->_current_type/*8*/));
}
/*FI]*/
(/*SFN*/C->_routine_body)=(/*RF2*/((T304*)((/*RF2*/(C)->_base_feature/*24*/)))->_routine_body/*44*/);
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
(/*SFN*/C->_routine_body)=r215to_runnable((T215*)((/*RF2*/(C)->_routine_body/*44*/)),(/*RF2*/(C)->_current_type/*8*/));
}
/*FI]*/
/*[IF*/
if(r47require_check((T47*)(oBC13run_control))){
(/*SFN*/C->_require_assertion)=r396run_require(C);
}
/*FI]*/
/*[IF*/
if(r47ensure_check((T47*)(oBC13run_control))){
(/*SFN*/C->_ensure_assertion)=r396run_ensure(C);
}
/*FI]*/
(/*SFN*/C->_rescue_compound)=(/*RF2*/((T304*)((/*RF2*/(C)->_base_feature/*24*/)))->_rescue_compound/*48*/);
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))==((void*)(NULL))){
(/*SFN*/C->_rescue_compound)=r396default_rescue_compound(C);
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
/*[IRF3.3set_used*/((((T380*)((T380*)(oBC13exceptions_handler))))->_used)=(1);
/*]*/
(/*SFN*/C->_rescue_compound)=r215to_runnable((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)),(/*RF2*/(C)->_current_type/*8*/));
}
/*FI]*/
}
void r396in_line(T396* C){
T0* _rt=NULL;
T0* _cien=NULL;
T0* _rf=NULL;
T0* _c=NULL;
T6 _flag=0;
T0* _e=NULL;
T0* _a=NULL;
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms396_5216));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/(C)->_in_line_status/*60*/));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_178));
/*]*/
{int z1=(/*RF2*/(C)->_in_line_status/*60*/);
if((1==z1)){
_flag=r325cannot_drop_all((T325*)(oBC13cpp));
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
_rt=X52run_type((/*RF2*/(C)->_result_type/*32*/));
/*[IF*/
if(X52is_user_expanded(_rt)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'M');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(_rt));
/*]*/
}
else{
X52c_initialize(_rt);
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else
if((2==z1)){
_flag=r325cannot_drop_all((T325*)(oBC13cpp));
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
_a=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*44*/)))->_first_one/*8*/)/*)*/;
if(NULL!=(_a)){
switch(((T0*)_a)->id){
case 282:
break;
default:
_a=NULL;
}
}_e=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X104compile_to_c(_e);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else
if((3==z1)){
_flag=r325arguments_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
_a=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*44*/)))->_first_one/*8*/)/*)*/;
if(NULL!=(_a)){
switch(((T0*)_a)->id){
case 282:
break;
default:
_a=NULL;
}
}_c=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}_rf=X115run_feature(_c);
X334mapping_c(_rf);
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else
if((4==z1)){
_flag=r325arguments_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
_rt=X52run_type((/*RF2*/(C)->_result_type/*32*/));
/*[IF*/
if(X52is_basic_eiffel_expanded(_rt)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
r7copy((T7*)(oBC396tmp_string),((T0*)ms14_160a));
X52c_type_for_result_in(_rt,oBC396tmp_string);
r7append((T7*)(oBC396tmp_string),((T0*)ms14_162a));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC396tmp_string);
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else
if((5==z1)){
_a=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*44*/)))->_first_one/*8*/)/*)*/;
if(NULL!=(_a)){
switch(((T0*)_a)->id){
case 282:
break;
default:
_a=NULL;
}
}_c=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}_rf=X115run_feature(_c);
r325push_same_target((T325*)(oBC13cpp),_rf,X115arguments(_c));
X334mapping_c(_rf);
r325pop((T325*)(oBC13cpp));
}
else
if((6==z1)){
_a=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*44*/)))->_first_one/*8*/)/*)*/;
if(NULL!=(_a)){
switch(((T0*)_a)->id){
case 282:
break;
default:
_a=NULL;
}
}_c=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}r325push_inline_dca((T325*)(oBC13cpp),(T0*)C,_c);
X334mapping_c(X115run_feature(_c));
r325pop((T325*)(oBC13cpp));
}
else
if((7==z1)){
_a=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*44*/)))->_first_one/*8*/)/*)*/;
if(NULL!=(_a)){
switch(((T0*)_a)->id){
case 282:
break;
default:
_a=NULL;
}
}_cien=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
if(NULL!=(_cien)){
switch(((T0*)_cien)->id){
case 187:case 189:
break;
default:
_cien=NULL;
}
}r325push_inline_dca((T325*)(oBC13cpp),(T0*)C,_cien);
X188dca_inline(_cien,X104result_type(/*SSFRF4*//*X188arg1*/r187arg1(((T187*)_cien))));
r325pop((T325*)(oBC13cpp));
}
else
if(((8<=z1)&&(z1<=9))){
_flag=r325target_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
_a=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*44*/)))->_first_one/*8*/)/*)*/;
if(NULL!=(_a)){
switch(((T0*)_a)->id){
case 282:
break;
default:
_a=NULL;
}
}_c=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}_rf=X115run_feature(_c);
r325push_direct((T325*)(oBC13cpp),_rf,/*SSWARF2*//*X115target*/(/*RF2*/(((T134*)_c))->_target/*4*/),X115arguments(_c));
X334mapping_c(_rf);
r325pop((T325*)(oBC13cpp));
/*[IF*/
if(_flag){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else {_a=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*44*/)))->_first_one/*8*/)/*)*/;
if(NULL!=(_a)){
switch(((T0*)_a)->id){
case 282:
break;
default:
_a=NULL;
}
}_c=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}_rf=X115run_feature(_c);
r325push_same_target((T325*)(oBC13cpp),_rf,X115arguments(_c));
X334mapping_c(_rf);
r325pop((T325*)(oBC13cpp));
}}
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms396_1095));
/*]*/
}
void r396mapping_c(T396* C){
T2 _tmp_expanded_idx=0;
/*[IF*/
if(r396isa_in_line(C)){
r396in_line(C);
}
else{
_tmp_expanded_idx=r325se_tmp_open((T0*)C);
r396default_mapping_function(C);
/*[IF*/
if((_tmp_expanded_idx)>=(0)){
r325se_tmp_close(_tmp_expanded_idx);
}
/*FI]*/
}
/*FI]*/
}
void r396address_of_c_define_wrapper(T396* C,T0* a1){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
/*[IF*/
if(((/*RF2*/(C)->_result_type/*32*/))==((void*)(NULL))){
r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
}
else{
X52c_type_for_external_in((/*RF2*/(C)->_result_type/*32*/),oBC334c_code);
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\40'));
r396address_of_wrapper_name_in(C,oBC334c_code);
r7extend((T7*)(oBC334c_code),((T3)'\50'));
X52c_type_for_external_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
r7extend((T7*)(oBC334c_code),((T3)'\40'));
r7extend((T7*)(oBC334c_code),((T3)'C'));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
r7extend((T7*)(oBC334c_code),((T3)'\54'));
r178external_prototype_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\51'));
r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
r338define_body_of((T0*)C);
}
void r396std_compute_stupid_switch(T396* C,T0* a1){
T0* _rt=NULL;
_rt=(/*RF2*/(C)->_result_type/*32*/);
/*[IF*/
if(((_rt)!=((void*)(NULL)))&&(X52is_user_expanded(_rt))){
(/*SFN*/C->_stupid_switch_state)=21;
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
/*[IF*/
if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_routine_body/*44*/)),a1))){
(/*SFN*/C->_stupid_switch_state)=21;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
/*[IF*/
if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)),a1))){
(/*SFN*/C->_stupid_switch_state)=21;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
(/*SFN*/C->_stupid_switch_state)=22;
}
/*FI]*/
}
void r396routine_afd_check(T396* C){
/*[IF*/
if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
r376afd_check((T376*)((/*RF2*/(C)->_require_assertion/*36*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*44*/))!=((void*)(NULL))){
r215afd_check((T215*)((/*RF2*/(C)->_routine_body/*44*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
r215afd_check((T215*)((/*RF2*/(C)->_rescue_compound/*48*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*52*/))!=((void*)(NULL))){
r214afd_check((T214*)((/*RF2*/(C)->_ensure_assertion/*52*/)));
}
/*FI]*/
}
T6 r396dc_pco1(T396* C){
T6 R=0;
T0* _rf6=NULL;
T0* _c=NULL;
_c=r396body_one_dc_pco(C);
/*[IF*/
if(((_c)!=((void*)(NULL)))&&(X104is_current(/*SSWARF2*//*X115target*/(/*RF2*/(((T134*)_c))->_target/*4*/)))){
_rf6=X115run_feature(_c);
if(NULL!=(_rf6)){
switch(((T0*)_rf6)->id){
case 395:
break;
default:
_rf6=NULL;
}
}/*[IF*/
if((_rf6)!=((void*)(NULL))){
R=!(r395use_current(((T395*)_rf6)));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r396body_one_result(T396* C){
T0* R=NULL;
T0* _a=NULL;
T0* _rb=NULL;
_rb=(/*RF2*/(C)->_routine_body/*44*/);
/*[IF*/
if(((_rb)!=((void*)(NULL)))&&((r215count(((T215*)_rb)))==(1))){
_a=/*(IRF4.3first*/(/*RF2*/(((T215*)_rb))->_first_one/*8*/)/*)*/;
if(NULL!=(_a)){
switch(((T0*)_a)->id){
case 282:
break;
default:
_a=NULL;
}
}/*[IF*/
if((_a)!=((void*)(NULL))){
/*[IF*/
if(X104is_result((/*RF2*/(((T282*)_a))->_left_side/*4*/))){
R=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r396body_one_dc_pco(T396* C){
T0* R=NULL;
T0* _args=NULL;
T0* _c=NULL;
_c=r396body_one_result(C);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}/*[IF*/
if((((_c)!=((void*)(NULL)))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL))))&&(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL)))){
_args=X115arguments(_c);
/*[IF*/
if(((_args)==((void*)(NULL)))||(/*SSFRF4*//*X139is_static*/r139is_static(((T139*)_args)))){
R=_c;
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r396direct_cse_call(T396* C){
T6 R=0;
T0* _rf8=NULL;
T0* _c=NULL;
/*[IF*/
if((((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL)))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL)))){
_c=r396body_one_result(C);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}/*[IF*/
if(((_c)!=((void*)(NULL)))&&((X115arguments(_c))==((void*)(NULL)))){
_c=/*SSWARF2*//*X115target*/(/*RF2*/(((T134*)_c))->_target/*4*/);
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}/*[IF*/
if(((_c)!=((void*)(NULL)))&&(X104is_current(/*SSWARF2*//*X115target*/(/*RF2*/(((T134*)_c))->_target/*4*/)))){
/*[IF*/
if((X115arguments(_c))==((void*)(NULL))){
_rf8=X115run_feature(_c);
if(NULL!=(_rf8)){
switch(((T0*)_rf8)->id){
case 333:
break;
default:
_rf8=NULL;
}
}/*[IF*/
if((_rf8)!=((void*)(NULL))){
R=(X82to_string((/*RF2*/(((T333*)_rf8))->_name/*12*/)))==((void*)(((T0*)ms15_16850)));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r396run_require(T396* C){
T0* R=NULL;
R=r51run_require((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
return R;
}
T6 r396dc_pco2(T396* C){
T6 R=0;
T0* _rf6=NULL;
T0* _c2=NULL;
T0* _c1=NULL;
_c1=r396body_one_dc_pco(C);
/*[IF*/
if((_c1)!=((void*)(NULL))){
_c2=/*SSWARF2*//*X115target*/(/*RF2*/(((T134*)_c1))->_target/*4*/);
if(NULL!=(_c2)){
switch(((T0*)_c2)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c2=NULL;
}
}/*[IF*/
if((_c2)!=((void*)(NULL))){
_rf6=X115run_feature(_c2);
if(NULL!=(_rf6)){
switch(((T0*)_rf6)->id){
case 395:
break;
default:
_rf6=NULL;
}
}/*[IF*/
if((((_rf6)!=((void*)(NULL)))&&(!(r395use_current(((T395*)_rf6)))))&&(X104is_current(/*SSWARF2*//*X115target*/(/*RF2*/(((T134*)_c2))->_target/*4*/)))){
R=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r396mapping_name(T396* C){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC334c_code),((T3)'r'));
r2append_in(r396id(C),oBC334c_code);
X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
void r396c_initialize_ds_one_by_one(T396* C){
r7copy((T7*)(oBC334c_code),((T0*)ms334_36950));
r396c_frame_descriptor_name_in(C,oBC334c_code);
r7append((T7*)(oBC334c_code),((T0*)ms14_138));
/*[IF*/
if(r396use_current(C)){
r7append((T7*)(oBC334c_code),((T0*)ms334_18175));
}
else{
r7append((T7*)(oBC334c_code),((T0*)ms334_10999));
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
{T68 se_tmp0;
r325put_position_in_ds(/*(IRF4.6start_position*/(*(se_tmp0=r304start_position(((T304*)((/*RF2*/(C)->_base_feature/*24*/)))),&se_tmp0))/*)*/);
}
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11466));
/*]*/
/*[IF*/
if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11880));
/*]*/
}
/*FI]*/
}
T6 r396isa_in_line(T396* C){
T6 R=0;
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
{int z1=(/*RF2*/(C)->_in_line_status/*60*/);
if((-1==z1)){
}
else
if((0==z1)){
R=1;
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*48*/))!=((void*)(NULL))){
(/*SFN*/C->_in_line_status)=-(1);
R=0;
}
else if(r396empty_or_null_body(C)){
(/*SFN*/C->_in_line_status)=1;
}
else if(r396value_reader(C)){
(/*SFN*/C->_in_line_status)=2;
}
else if(r396attribute_reader(C)){
(/*SFN*/C->_in_line_status)=3;
}
else if(r396result_is_current(C)){
(/*SFN*/C->_in_line_status)=4;
}
else if(r396direct_call(C)){
(/*SFN*/C->_in_line_status)=5;
}
else if(r396dca(C)){
(/*SFN*/C->_in_line_status)=6;
}
else if(r396a_eq_neq(C)){
(/*SFN*/C->_in_line_status)=7;
}
else if(r396dc_pco1(C)){
(/*SFN*/C->_in_line_status)=8;
}
else if(r396dc_pco2(C)){
(/*SFN*/C->_in_line_status)=9;
}
else if(r396direct_cse_call(C)){
(/*SFN*/C->_in_line_status)=10;
}
else{
(/*SFN*/C->_in_line_status)=-(1);
R=0;
}
/*FI]*/
}
else{R=1;
}}
}
/*FI]*/
return R;
}
T6 r396use_current(T396* C){
T6 R=0;
{int z1=(/*RF2*/(C)->_use_current_state/*16*/);
if((22==z1)){
R=1;
}
else
if((21==z1)){
}
else
if((23==z1)){
(/*SFN*/C->_use_current_state)=24;
r396compute_use_current(C);
R=((/*RF2*/(C)->_use_current_state/*16*/))==(22);
}
else {R=1;
}}
return R;
}
T6 r396value_reader(T396* C){
T6 R=0;
T0* _c0=NULL;
T0* _e=NULL;
_e=r396body_one_result(C);
/*[IF*/
if(((_e)!=((void*)(NULL)))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL)))){
_c0=_e;
if(NULL!=(_c0)){
switch(((T0*)_c0)->id){
case 134:case 140:case 130:case 135:case 136:
break;
default:
_c0=NULL;
}
}/*[IF*/
if((((_c0)!=((void*)(NULL)))&&(X104is_current(/*SSWARF2*//*X132target*/(/*RF2*/(((T134*)_c0))->_target/*4*/))))&&((X132run_feature(_c0))==((void*)(C)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(_e),&se_tmp0)));
}
r396fatal_error(((T0*)ms396_38496));
}
else if(X104is_static(_e)){
R=1;
(/*SFN*/C->_static_value_mem)=X104static_value(_e);
(/*SFN*/C->_is_static_flag)=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r396is_static(T396* C){
T6 R=0;
/*[IF*/
if(r396isa_in_line(C)){
R=(/*RF2*/(C)->_is_static_flag/*64*/);
}
/*FI]*/
return R;
}
T6 r396is_exported_in(T396* C,T0* a1){
T6 R=0;
R=r99gives_permission_to((T99*)(r396clients(C)),a1);
return R;
}
T0* r396default_rescue_compound(T396* C){
T0* R=NULL;
R=r50get_default_rescue((T50*)(r396run_class(C)),(/*RF2*/(C)->_name/*12*/));
return R;
}
T0* r396run_class(T396* C){
T0* R=NULL;
R=X52run_class((/*RF2*/(C)->_current_type/*8*/));
return R;
}
void r396fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T6 r396attribute_reader(T396* C){
T6 R=0;
T0* _rf2=NULL;
T0* _c0=NULL;
T0* _e=NULL;
_e=r396body_one_result(C);
/*[IF*/
if(((_e)!=((void*)(NULL)))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL)))){
_c0=_e;
if(NULL!=(_c0)){
switch(((T0*)_c0)->id){
case 134:case 140:case 130:case 135:case 136:
break;
default:
_c0=NULL;
}
}/*[IF*/
if((_c0)!=((void*)(NULL))){
/*[IF*/
if(X104is_current(/*SSWARF2*//*X132target*/(/*RF2*/(((T134*)_c0))->_target/*4*/))){
_rf2=X132run_feature(_c0);
if(NULL!=(_rf2)){
switch(((T0*)_rf2)->id){
case 345:
break;
default:
_rf2=NULL;
}
}/*[IF*/
if((_rf2)!=((void*)(NULL))){
R=!(X52is_user_expanded((/*RF2*/(((T345*)_rf2))->_result_type/*28*/)));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r396result_is_current(T396* C){
T6 R=0;
T0* _e=NULL;
_e=r396body_one_result(C);
/*[IF*/
if(((_e)!=((void*)(NULL)))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL)))){
R=X104is_current(_e);
}
/*FI]*/
return R;
}
T0* r396stupid_switch(T396* C,T0* a1){
T0* R=NULL;
{int z1=(/*RF2*/(C)->_stupid_switch_state/*20*/);
if((22==z1)){
R=((T0*)ms396_4200);
}
else
if((21==z1)){
}
else
if((23==z1)){
(/*SFN*/C->_stupid_switch_state)=24;
/*[IRF3.6compute_stupid_switch*/{T396* C1=C;
T0* b1=a1;
r396std_compute_stupid_switch(C1,b1);
}/*]*/
/*[IF*/
if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(22)){
R=((T0*)ms396_4200);
}
/*FI]*/
}
else {}}
return R;
}
T6 r396direct_call(T396* C){
T6 R=0;
T0* _rf4=NULL;
T0* _args=NULL;
T0* _c=NULL;
T0* _e=NULL;
_e=r396body_one_result(C);
/*[IF*/
if((((_e)!=((void*)(NULL)))&&(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))))&&(((/*RF2*/(C)->_local_vars/*40*/))==((void*)(NULL)))){
_c=_e;
if(NULL!=(_c)){
switch(((T0*)_c)->id){
case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
break;
default:
_c=NULL;
}
}/*[IF*/
if((_c)!=((void*)(NULL))){
/*[IF*/
if(X104is_current(/*SSWARF2*//*X115target*/(/*RF2*/(((T134*)_c))->_target/*4*/))){
_rf4=X115run_feature(_c);
if(NULL!=(_rf4)){
switch(((T0*)_rf4)->id){
case 396:
break;
default:
_rf4=NULL;
}
}/*[IF*/
if((_rf4)!=((void*)(NULL))){
_args=X115arguments(_c);
/*[IF*/
if((_args)==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139is_static*/r139is_static(((T139*)_args));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r396define_prototype(T396* C){
T6 _no_check=0;
T2 _mem_id=0;
_no_check=r47no_check((T47*)(oBC13run_control));
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*[IRF3.3reset*/((((T203*)((T203*)(oBC13c_frame_descriptor_local_count))))->_value)=(0);
/*]*/
/*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_format))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\42'));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_locals))))->_count)=(0);
/*]*/
}
/*FI]*/
_mem_id=r396id(C);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
/*[IF*/
if(((/*RF2*/(C)->_result_type/*32*/))==((void*)(NULL))){
r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
}
else{
X52c_type_for_result_in(X52run_type((/*RF2*/(C)->_result_type/*32*/)),oBC334c_code);
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\40'));
r7extend((T7*)(oBC334c_code),((T3)'r'));
r2append_in(_mem_id,oBC334c_code);
X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
r7extend((T7*)(oBC334c_code),((T3)'\50'));
/*[IF*/
if(_no_check){
r7append((T7*)(oBC334c_code),((T0*)ms334_56160));
/*[IF*/
if((r396use_current(C))||(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL)))){
r7extend((T7*)(oBC334c_code),((T3)'\54'));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r396use_current(C)){
X52c_type_for_target_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
r7extend((T7*)(oBC334c_code),((T3)'\40'));
r7extend((T7*)(oBC334c_code),((T3)'C'));
X52c_frame_descriptor((/*RF2*/(C)->_current_type/*8*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
r7extend((T7*)(oBC334c_code),((T3)'\54'));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
/*[IF*/
if(_no_check){
}
else if(!(r396use_current(C))){
r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
}
/*FI]*/
}
else{
r178compile_to_c_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\51'));
r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
/*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
/*]*/
}
void r396c_frame_descriptor(T396* C){
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
r7copy((T7*)(oBC334c_code),((T0*)ms334_23340));
r396c_frame_descriptor_name_in(C,oBC334c_code);
r325put_extern7((T325*)(oBC13cpp),oBC334c_code);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\173');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r396put_c_name_tag(C);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC334c_code),((T3)'\54'));
/*[IF*/
if(r396use_current(C)){
r7extend((T7*)(oBC334c_code),((T3)'1'));
}
else{
r7extend((T7*)(oBC334c_code),((T3)'0'));
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\54'));
/*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
/*]*/
r7extend((T7*)(oBC334c_code),((T3)'\54'));
r7append((T7*)(oBC334c_code),oBC13c_frame_descriptor_format);
r7append((T7*)(oBC334c_code),((T0*)ms334_2226));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
/*FI]*/
}
void r396address_of_c_mapping(T396* C){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
/*[IF*/
if(r396isa_in_line(C)){
r396address_of_c_mapping_wrapper(C);
}
else if(r396use_current(C)){
r396mapping_name(C);
}
else{
r396address_of_c_mapping_wrapper(C);
}
/*FI]*/
}
else{
r396address_of_c_mapping_wrapper(C);
}
/*FI]*/
}
void r396fe_vffd7(T396* C){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_result_type/*32*/)),&se_tmp0)));
}
r396fatal_error(((T0*)ms334_203069));
}
void r396c_frame_descriptor_name_in(T396* C,T0* a1){
r7extend(((T7*)a1),((T3)'f'));
r2append_in(r396id(C),a1);
X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
}
void r168prepare_arguments(T168* C,T0* a1){
T0* _a=NULL;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
_a=X139to_runnable((/*RF2*/(C)->_arguments/*20*/),a1);
/*[IF*/
if((_a)==((void*)(NULL))){
{T68 se_tmp0;
r168error((*(se_tmp0=X139start_position((/*RF2*/(C)->_arguments/*20*/)),&se_tmp0)),((T0*)ms14_14504));
}
}
else{
(/*SFN*/C->_arguments)=_a;
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
X139match_with((/*RF2*/(C)->_arguments/*20*/),(/*RF2*/(C)->_run_feature/*24*/),a1);
}
/*FI]*/
}
else if(((/*RF2*/((T392*)((/*RF2*/(C)->_run_feature/*24*/)))->_arguments/*28*/))!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=r392start_position((T392*)((/*RF2*/(C)->_run_feature/*24*/))),&se_tmp0)));
}
r66add_position((/*RF2*/(C)->_start_position/*4*/));
r168fatal_error(((T0*)ms167_63456));
}
/*FI]*/
}
void r168make(T168* C,T68 a1,T0* a2,T0* a3){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_parent)=a2;
(/*SFN*/C->_arguments)=a3;
}
void r168fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T0* r168precursor_name(T0* a1,T0* a2){
T0* R=NULL;
{T394*n=((T394*)malloc(sizeof(*n))/*12*/);
*n=M394;
r394refer_to(n,(/*RF2*/((T51*)(/*SSWARF2*//*X90base_class*/(/*RF2*/(((T198*)a2))->_base_class/*4*/)))->_id/*0*/),a1);
R=((T0*)n);
}
return R;
}
T0* r168add_comment(T168* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
/*AF*/else{
{T224*n=((T224*)malloc(sizeof(*n))/*12*/);
*n=M224;
r224make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T0* r168super_feature(T168* C,T0* a1){
T0* R=NULL;
T0* _pl=NULL;
T0* _wbc=NULL;
T0* _e_feature=NULL;
_e_feature=/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)a1))->_base_feature/*24*/);
_wbc=/*SSWARF2*//*X90base_class*/(/*RF2*/(((T198*)_e_feature))->_base_class/*4*/);
_pl=(/*RF2*/(((T51*)_wbc))->_parent_list/*34*/);
/*[IF*/
if((_pl)==((void*)(NULL))){
r66add_position((/*RF2*/(C)->_start_position/*4*/));
r168fatal_error(((T0*)ms167_268167));
}
else{
R=r57precursor_for(((T57*)_pl),(T0*)C,a1);
}
/*FI]*/
return R;
}
void r168compile_to_c(T168* C){
r325push_precursor((T325*)(oBC13cpp),(/*RF2*/(C)->_run_feature/*24*/),(/*RF2*/(C)->_arguments/*20*/));
/*[IRF3.4mapping_c*/r392default_mapping_procedure((T392*)((/*RF2*/(C)->_run_feature/*24*/)));
/*]*/
r325pop((T325*)(oBC13cpp));
}
void r168afd_check(T168* C){
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
/*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*20*/)));
}
/*FI]*/
}
void r168collect_c_tmp(T168* C){
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*20*/)));
}
/*FI]*/
}
T0* r168to_runnable(T168* C,T0* a1){
T0* R=NULL;
T0* _pn=NULL;
T0* _super=NULL;
T0* _wrf=NULL;
/*[IF*/
if(((/*RF2*/(C)->_current_type/*16*/))==((void*)(NULL))){
(/*SFN*/C->_current_type)=a1;
R=((T0*)(C));
_wrf=r49top_rf((T49*)(oBC13small_eiffel));
/*[IF*/
if((X334result_type(_wrf))!=((void*)(NULL))){
r66add_position((/*RF2*/(C)->_start_position/*4*/));
r168fatal_error(((T0*)ms168_358643));
}
/*FI]*/
_super=r168super_feature(C,_wrf);
_pn=r168precursor_name(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)_wrf))->_name/*12*/),_super);
{T392*n=((T392*)malloc(sizeof(*n))/*52*/);
*n=M392;
r392make(n,a1,_pn,_super);
(/*SFN*/C->_run_feature)=((T0*)n);
}
r168prepare_arguments(C,a1);
}
else{
{T168*n=((T168*)malloc(sizeof(*n))/*28*/);
*n=M168;
r168make(n,(/*RF2*/(C)->_start_position/*4*/),(/*RF2*/(C)->_parent/*12*/),(/*RF2*/(C)->_arguments/*20*/));
R=((T0*)n);
}
R=r168to_runnable(((T168*)R),a1);
}
/*FI]*/
return R;
}
void r168error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
void r99make(T99* C,T68 a1,T0* a2){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_list)=a2;
}
T0* r99merge_with(T99* C,T0* a1){
T0* R=NULL;
T68 _sp={NULL,0};
/*[IF*/
if(r99gives_permission_to_any(C)){
R=((T0*)(C));
}
else if(r99gives_permission_to_any(((T99*)a1))){
R=a1;
}
else{
_sp=(/*RF2*/(C)->_start_position/*0*/);
/*[IF*/
if(r68is_unknown(&_sp)){
_sp=(/*RF2*/(((T99*)a1))->_start_position/*0*/);
}
/*FI]*/
{T99*n=((T99*)malloc(sizeof(*n))/*12*/);
*n=M99;
r99merge(n,_sp,(/*RF2*/(C)->_list/*8*/),(/*RF2*/(((T99*)a1))->_list/*8*/));
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r99merge(T99* C,T68 a1,T0* a2,T0* a3){
(/*SFN*/C->_start_position)=a1;
{T194*n=((T194*)malloc(sizeof(*n))/*8*/);
*n=M194;
r194merge(n,a2,a3);
(/*SFN*/C->_list)=((T0*)n);
}
}
T6 r99gives_permission_to_any(T99* C){
T6 R=0;
/*[IF*/
if(r99is_omitted(C)){
R=1;
}
else if(((/*RF2*/(C)->_list/*8*/))==((void*)(NULL))){
}
else{
R=r194gives_permission_to_any((T194*)((/*RF2*/(C)->_list/*8*/)));
}
/*FI]*/
r99gives_permission_error(C,R,((T0*)ms15_696));
return R;
}
T6 r99gives_permission_to(T99* C,T0* a1){
T6 R=0;
/*[IF*/
if(r99is_omitted(C)){
R=1;
}
else if(((/*RF2*/(C)->_list/*8*/))==((void*)(NULL))){
}
else{
R=r194gives_permission_to((T194*)((/*RF2*/(C)->_list/*8*/)),a1);
}
/*FI]*/
r99gives_permission_error(C,R,(/*RF2*/(((T61*)a1))->_to_string/*8*/));
return R;
}
T0* r99append(T99* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)==((void*)(a1)))||(r99is_omitted(C))){
R=((T0*)(C));
}
else{
/*[IF*/
if(r99gives_permission_to_any(C)){
R=((T0*)(C));
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(r99is_omitted(((T99*)a1))){
R=a1;
}
else if(r99gives_permission_to_any(((T99*)a1))){
R=a1;
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
{T99*n=((T99*)malloc(sizeof(*n))/*12*/);
*n=M99;
r99merge(n,(/*RF2*/(C)->_start_position/*0*/),(/*RF2*/(C)->_list/*8*/),(/*RF2*/(((T99*)a1))->_list/*8*/));
R=((T0*)n);
}
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r99is_omitted(T99* C){
T6 R=0;
R=r68is_unknown(&((/*RF2*/(C)->_start_position/*0*/)));
return R;
}
void r99vape_check(T99* C,T68 a1,T0* a2){
T0* _cn=NULL;
T0* _caller=NULL;
T2 _i=0;
T6 _vape=0;
/*[IF*/
if(r99is_omitted(C)){
_vape=r99gives_permission_to_any(((T99*)a2));
}
else if(((/*RF2*/(C)->_list/*8*/))==((void*)(NULL))){
_vape=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
}
else{
_vape=1;
_i=r194count((T194*)((/*RF2*/(C)->_list/*8*/)));
while (!((!(_vape))||((_i)==(0))))
{
_cn=r194item((T194*)((/*RF2*/(C)->_list/*8*/)),_i);
_vape=r99gives_permission_to(((T99*)a2),_cn);
_i=(_i)-(1);
}
}
/*FI]*/
/*[IF*/
if(!(_vape)){
/*[IF*/
if((_cn)!=((void*)(NULL))){
r66add_position((/*RF2*/(((T61*)_cn))->_start_position/*0*/));
}
else{
r66add_position((/*RF2*/(C)->_start_position/*0*/));
}
/*FI]*/
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=((T0*)ms99_66792);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
r66add_position(a1);
r66add_position((/*RF2*/(((T99*)a2))->_start_position/*0*/));
_caller=r49top_rf((T49*)(oBC13small_eiffel));
/*[IRF3.6append*/{T0* b1=X52run_time_mark(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_caller))->_current_type/*8*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms99_500000);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
/*[IRF3.6append*/{T0* b1=((T0*)ms99_43392);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IF*/
if((_cn)!=((void*)(NULL))){
r66add_position((/*RF2*/(((T61*)_cn))->_start_position/*0*/));
}
else{
r66add_position((/*RF2*/(C)->_start_position/*0*/));
}
/*FI]*/
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position(_caller),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)_caller))->_name/*12*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
}
void r99gives_permission_error(T99* C,T6 a1,T0* a2){
/*[IF*/
if(a1){
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
}
else{
/*[IF*/
if(r68is_unknown(&((/*RF2*/(C)->_start_position/*0*/)))){
/*[IF*/
if(((/*RF2*/(C)->_list/*8*/))!=((void*)(NULL))){
r66add_position((/*RF2*/((T61*)(r194item((T194*)((/*RF2*/(C)->_list/*8*/)),1)))->_start_position/*0*/));
}
/*FI]*/
}
else{
r66add_position((/*RF2*/(C)->_start_position/*0*/));
}
/*FI]*/
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms99_58386);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
/*FI]*/
}
T0* r304try_to_undefine_aux(T304* C,T0* a1,T0* a2){
T0* R=NULL;
{T287*n=((T287*)malloc(sizeof(*n))/*44*/);
*n=M287;
r287from_effective(n,a1,(/*RF2*/(C)->_arguments/*20*/),(/*RF2*/(C)->_result_type/*56*/),(/*RF2*/(C)->_require_assertion/*28*/),(/*RF2*/(C)->_ensure_assertion/*32*/),a2);
R=((T0*)n);
}
return R;
}
T0* r304try_to_undefine(T304* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
_fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X82undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r304try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
r304merge_header_comments(C,R);
}
else{
r51fatal_undefine(((T51*)a2),a1);
}
/*FI]*/
return R;
}
void r304check_obsolete(T304* C,T68 a1){
/*[IF*/
if(((/*RF2*/(C)->_obsolete_mark/*24*/))!=((void*)(NULL))){
/*[IF*/
if(!((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/))){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=((T0*)ms90_19170);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(/*RF2*/((T161*)((/*RF2*/(C)->_obsolete_mark/*24*/)))->_to_string/*12*/);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
{T68 se_tmp0;
r66add_position((*(se_tmp0=r304start_position(C),&se_tmp0)));
}
r66print_as_warning((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
T0* r304to_run_feature(T304* C,T0* a1,T0* a2){
T0* R=NULL;
{T396*n=((T396*)malloc(sizeof(*n))/*65*/);
*n=M396;
r396make(n,a1,a2,(T0*)C);
R=((T0*)n);
}
return R;
}
void r304error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T6 r304is_not_mergeable_with(T304* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*56*/))==((void*)(NULL))){
R=(X90result_type(a1))!=((void*)(NULL));
}
else{
R=(X90result_type(a1))==((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else{
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
R=(X90arguments(a1))!=((void*)(NULL));
}
else{
R=(X90arguments(a1))==((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
}
else if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*20*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)(X90arguments(a1)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_66660);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
R=1;
}
/*FI]*/
}
/*FI]*/
r304merge_header_comments(C,a1);
return R;
}
void r304set_header_comment(T304* C,T0* a1){
/*[IF*/
if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)>(1))){
(/*SFN*/C->_end_comment)=a1;
}
/*FI]*/
}
void r304make_routine(T304* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
/*[IRF3.3make_e_feature*/((((T304*)(C)))->_names)=(a1);
/*]*/
(/*SFN*/C->_header_comment)=a4;
(/*SFN*/C->_arguments)=a2;
(/*SFN*/C->_obsolete_mark)=a3;
(/*SFN*/C->_require_assertion)=a5;
}
void r304make(T304* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){
r304make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
(/*SFN*/C->_result_type)=a3;
}
void r304add_into(T304* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
{T68 se_tmp0;
(/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
}
_i=1;
while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
{
_fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
/*[IF*/
if(r91has(((T91*)a1),X82to_key(_fn))){
_fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X82to_string(_fn);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
else{
r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r304can_hide(T304* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*56*/))!=((void*)(X90result_type(a1)))){
/*[IF*/
if((((/*RF2*/(C)->_result_type/*56*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r304error((*(se_tmp0=r304start_position(C),&se_tmp0)),((T0*)ms90_64152));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(X90arguments(a1)))){
/*[IF*/
if((((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL)))||((X90arguments(a1))==((void*)(NULL)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r304error((*(se_tmp0=r304start_position(C),&se_tmp0)),((T0*)ms90_82612));
}
}
else if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*20*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)(X90arguments(a1)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r304error((*(se_tmp0=r304start_position(C),&se_tmp0)),((T0*)ms90_66660));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(((/*RF2*/(C)->_result_type/*56*/))!=((void*)(NULL))){
/*[IF*/
if(!(X52is_a_in((/*RF2*/(C)->_result_type/*56*/),X90result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
/*[IF*/
if(!(r178is_a_in((T178*)((/*RF2*/(C)->_arguments/*20*/)),X90arguments(a1),a2))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=r304start_position(C),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
/*[IF*/
if(R){
r304merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
void r304merge_header_comments(T304* C,T0* a1){
/*[IF*/
if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
/*[IF*/
if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
(/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
}
else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
}
/*FI]*/
}
/*FI]*/
}
void r304make_effective_routine(T304* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
r304make_routine(C,a1,a2,a3,a4,a5);
(/*SFN*/C->_local_vars)=a6;
(/*SFN*/C->_routine_body)=a7;
(/*SFN*/C->_use_current_state)=9;
}
T68 r304start_position(T304* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
}
return R;
}
void r185compile_to_c_old(T185* C){
T0* _t=NULL;
_t=X52run_type(r185result_type(C));
r7copy((T7*)(oBC185tmp_string),r185local_c_name(C));
r7extend((T7*)(oBC185tmp_string),((T3)'\75'));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC185tmp_string);
/*]*/
X104mapping_c_arg((/*RF2*/(C)->_expression/*4*/),_t);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
}
T0*oBC185tmp_string=NULL;
T0* r185add_comment(T185* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r185afd_check(T185* C){
X104afd_check((/*RF2*/(C)->_expression/*4*/));
}
void r185c_declare_for_old(T185* C){
T68 _p={NULL,0};
T0* _name=NULL;
T0* _t=NULL;
_name=r185local_c_name(C);
_t=X52run_type(r185result_type(C));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC185tmp_string))))->_count)=(0);
/*]*/
X52c_type_for_argument_in(_t,oBC185tmp_string);
r7extend((T7*)(oBC185tmp_string),((T3)'\40'));
r7append((T7*)(oBC185tmp_string),_name);
r7extend((T7*)(oBC185tmp_string),((T3)'\75'));
X52c_initialize_in(_t,oBC185tmp_string);
r7append((T7*)(oBC185tmp_string),((T0*)ms14_138));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC185tmp_string);
/*]*/
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
r7append((T7*)(oBC13c_frame_descriptor_locals),((T0*)ms185_7344));
r7append((T7*)(oBC13c_frame_descriptor_locals),_name);
r7extend((T7*)(oBC13c_frame_descriptor_locals),((T3)'\54'));
r203increment((T203*)(oBC13c_frame_descriptor_local_count));
{T68 se_tmp0;
_p=(*(se_tmp0=r185start_position(C),&se_tmp0));
}
r7append((T7*)(oBC13c_frame_descriptor_format),((T0*)ms185_2295));
r2append_in(r68line(&_p),oBC13c_frame_descriptor_format);
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'c'));
r2append_in(r68column(&_p),oBC13c_frame_descriptor_format);
r7append((T7*)(oBC13c_frame_descriptor_format),(/*RF2*/((T61*)(r68base_class_name(&_p)))->_to_string/*8*/));
X52c_frame_descriptor(_t);
}
/*FI]*/
}
T6 r185use_current(T185* C){
T6 R=0;
R=X104use_current((/*RF2*/(C)->_expression/*4*/));
return R;
}
T0* r185to_runnable(T185* C,T0* a1){
T0* R=NULL;
T0* _exp=NULL;
/*[IF*/
if(((/*RF2*/(C)->_current_type/*8*/))==((void*)(NULL))){
(/*SFN*/C->_current_type)=a1;
_exp=X104to_runnable((/*RF2*/(C)->_expression/*4*/),a1);
/*[IF*/
if((_exp)==((void*)(NULL))){
{T68 se_tmp0;
r185error((*(se_tmp0=r185start_position(C),&se_tmp0)),((T0*)ms185_24320));
}
}
else{
(/*SFN*/C->_expression)=_exp;
}
/*FI]*/
R=((T0*)(C));
}
else{
{T185*n=((T185*)malloc(sizeof(*n))/*16*/);
*n=M185;
/*[IRF3.3make*/((((T185*)(n)))->_expression)=((/*RF2*/(C)->_expression/*4*/));
/*]*/
R=((T0*)n);
}
R=r185to_runnable(((T185*)R),a1);
}
/*FI]*/
return R;
}
T2 r185to_integer(T185* C){
T2 R=0;
{T68 se_tmp0;
r185error((*(se_tmp0=r185start_position(C),&se_tmp0)),((T0*)ms14_45441));
}
return R;
}
void r185error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r185local_c_name(T185* C){
T0* R=NULL;
/*[IF*/
if(((/*RF2*/(C)->_local_c_name_memory/*12*/))==((void*)(NULL))){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC185tmp_string))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC185tmp_string),((T3)'o'));
{T68 se_tmp0;
r2append_in((/*RF2*/((T51*)((/*RF2*/((*(se_tmp0=r185start_position(C),&se_tmp0)))._base_class/*0*/)))->_id/*0*/),oBC185tmp_string);
}
r7extend((T7*)(oBC185tmp_string),((T3)'\137'));
{T68 se_tmp0;
r2append_in(r68line(&((*(se_tmp0=r185start_position(C),&se_tmp0)))),oBC185tmp_string);
}
r7extend((T7*)(oBC185tmp_string),((T3)'\137'));
{T68 se_tmp0;
r2append_in(r68column(&((*(se_tmp0=r185start_position(C),&se_tmp0)))),oBC185tmp_string);
}
(/*SFN*/C->_local_c_name_memory)=r7twin((T7*)(oBC185tmp_string));
}
/*FI]*/
R=(/*RF2*/(C)->_local_c_name_memory/*12*/);
return R;
}
T0* r185result_type(T185* C){
T0* R=NULL;
R=X104result_type((/*RF2*/(C)->_expression/*4*/));
return R;
}
T0* r185static_result_base_class(T185* C){
T0* R=NULL;
R=X104static_result_base_class((/*RF2*/(C)->_expression/*4*/));
return R;
}
void r185assertion_check(T185* C,T3 a1){
/*[IF*/
if(((/*RF2*/((T400*)(oBC185vaol_check_memory))->_item/*0*/))==((void*)(NULL))){
/*[IRF3.3set_item*/((((T400*)((T400*)(oBC185vaol_check_memory))))->_item)=((T0*)C);
/*]*/
}
else{
{T68 se_tmp0;
r66add_position((*(se_tmp0=r185start_position((T185*)((/*RF2*/((T400*)(oBC185vaol_check_memory))->_item/*0*/))),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms185_153435);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
X104assertion_check((/*RF2*/(C)->_expression/*4*/),a1);
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T400*)((T400*)(oBC185vaol_check_memory))))->_item)=(_default_item);
}/*]*/
}
T0*oBC185vaol_check_memory=NULL;
T68 r185start_position(T185* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*4*/)),&se_tmp0));
}
return R;
}
void r85make(T85* C,T0* a1){
{T88*n=((T88*)malloc(sizeof(*n))/*16*/);
*n=M88;
r88with_capacity(n,4,1);
(/*SFN*/C->_list)=((T0*)n);
}
r88add_last((T88*)((/*RF2*/(C)->_list/*0*/)),a1);
}
void r85fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T0* r85name_in_child(T85* C,T0* a1){
T0* R=NULL;
T6 _no_longer_exists=0;
T0* _fn_to_key=NULL;
T0* _rp=NULL;
T2 _i=0;
_fn_to_key=X82to_key(a1);
R=a1;
_i=(/*RF2*/((T88*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_rp=r88item((T88*)((/*RF2*/(C)->_list/*0*/)),_i);
/*[IF*/
if((X82to_key((/*RF2*/(((T87*)_rp))->_old_name/*4*/)))==((void*)(_fn_to_key))){
R=(/*RF2*/(((T87*)_rp))->_new_name/*0*/);
}
else if((X82to_key((/*RF2*/(((T87*)_rp))->_new_name/*0*/)))==((void*)(_fn_to_key))){
_no_longer_exists=1;
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if((_no_longer_exists)&&((R)==((void*)(a1)))){
R=NULL;
}
/*FI]*/
return R;
}
T0* r85name_in_parent(T85* C,T0* a1){
T0* R=NULL;
T6 _no_longer_exists=0;
T0* _fn_to_key=NULL;
T0* _rp=NULL;
T2 _i=0;
_fn_to_key=X82to_key(a1);
R=a1;
_i=(/*RF2*/((T88*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_rp=r88item((T88*)((/*RF2*/(C)->_list/*0*/)),_i);
/*[IF*/
if((X82to_key((/*RF2*/(((T87*)_rp))->_new_name/*0*/)))==((void*)(_fn_to_key))){
R=(/*RF2*/(((T87*)_rp))->_old_name/*4*/);
}
else if((X82to_key((/*RF2*/(((T87*)_rp))->_old_name/*4*/)))==((void*)(_fn_to_key))){
_no_longer_exists=1;
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if((_no_longer_exists)&&((R)==((void*)(a1)))){
R=NULL;
}
/*FI]*/
return R;
}
void r85get_started(T85* C,T0* a1){
T0* _rp2=NULL;
T0* _rp1=NULL;
T2 _j=0;
T2 _i=0;
_i=(/*RF2*/((T88*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_rp1=r88item((T88*)((/*RF2*/(C)->_list/*0*/)),_i);
/*[IF*/
if(!(r51has(((T51*)a1),(/*RF2*/(((T87*)_rp1))->_old_name/*4*/)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(((T87*)_rp1))->_old_name/*4*/)),&se_tmp0)));
}
r85fatal_error(((T0*)ms85_101934));
}
/*FI]*/
_i=(_i)-(1);
_j=_i;
while (!((_j)==(0)))
{
_rp2=r88item((T88*)((/*RF2*/(C)->_list/*0*/)),_j);
/*[IF*/
if((X82to_key((/*RF2*/(((T87*)_rp2))->_old_name/*4*/)))==((void*)(X82to_key((/*RF2*/(((T87*)_rp1))->_old_name/*4*/))))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(((T87*)_rp1))->_old_name/*4*/)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(((T87*)_rp2))->_old_name/*4*/)),&se_tmp0)));
}
r85fatal_error(((T0*)ms85_121394));
}
/*FI]*/
_j=(_j)-(1);
}
}
}
void r297c_mapping_procedure(T0* a1,T0* a2,T0* a3){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
r297c_mapping_external((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
}
else{
r337default_mapping_procedure(((T337*)a1));
}
/*FI]*/
}
void r297c_mapping_function(T0* a1,T0* a2,T0* a3){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
r297c_mapping_external((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
void r297standard_c_define_procedure(T0* a1,T0* a2,T0* a3){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r297wrapped_external_call((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
r337c_define_with_body(((T337*)a1),oBC288body);
}
/*FI]*/
}
void r297standard_c_define_function(T0* a1,T0* a2,T0* a3){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC288body),((T3)'R'));
r7extend((T7*)(oBC288body),((T3)'\75'));
r297wrapped_external_call((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
r333c_define_with_body(((T333*)a1),oBC288body);
}
/*FI]*/
}
void r297wrapped_external_call(T0* a1,T2 a2){
T2 _i=0;
r7append((T7*)(oBC288body),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
r7extend((T7*)(oBC288body),((T3)'\50'));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_i=1;
while (!((_i)>(a2)))
{
r7extend((T7*)(oBC288body),((T3)'a'));
r2append_in(_i,oBC288body);
_i=(_i)+(1);
/*[IF*/
if((_i)<=(a2)){
r7extend((T7*)(oBC288body),((T3)'\54'));
}
/*FI]*/
}
r7append((T7*)(oBC288body),((T0*)ms14_330));
}
void r297c_mapping_external(T0* a1,T2 a2){
T6 _tcbd=0;
T6 _eruc=0;
_eruc=/*(IRF4.1use_current*/0/*)*/;
/*[IF*/
if(!(_eruc)){
_tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(_eruc){
r325put_target_as_value((T325*)(oBC13cpp));
}
/*FI]*/
/*[IF*/
if((a2)>(0)){
/*[IF*/
if(_eruc){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325put_arguments((T325*)(oBC13cpp));
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if((!(_eruc))&&(_tcbd)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
T0* r57first_parent_for(T57* C,T0* a1){
T0* R=NULL;
T0* _pbc=NULL;
T2 _i=0;
_i=1;
while (!((R)!=((void*)(NULL))))
{
R=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_pbc=r58base_class(((T58*)R));
/*[IF*/
if((_pbc)==((void*)(a1))){
}
else if(r51is_subclass_of(((T51*)_pbc),a1)){
}
else{
R=NULL;
}
/*FI]*/
_i=(_i)+(1);
}
return R;
}
T0* r57going_up(T57* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _fn2=NULL;
T0* _fn1=NULL;
T0* _p2=NULL;
T0* _p1=NULL;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!(((_fn1)!=((void*)(NULL)))||((_i)==(0))))
{
_p1=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_fn1=r58going_up(((T58*)_p1),a1,a2,a3);
_i=(_i)-(1);
}
while (!((_i)==(0)))
{
_p2=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_fn2=r58going_up(((T58*)_p2),a1,a2,a3);
/*[IF*/
if((_fn2)!=((void*)(NULL))){
/*[IF*/
if(r58has_select_for(((T58*)_p2),_fn2)){
_p1=_p2;
_fn1=_fn2;
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
R=_fn1;
return R;
}
void r57inherit_cycle_check(T57* C){
T0* _bc=NULL;
T0* _p=NULL;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_p=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_bc=r58base_class(((T58*)_p));
/*[IF*/
if((_bc)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=r58start_position(((T58*)_p)),&se_tmp0)));
}
r57fatal_error(((T0*)ms14_19808));
}
else{
r51inherit_cycle_check(((T51*)_bc));
}
/*FI]*/
_i=(_i)-(1);
}
}
T6 r57has_redefine(T57* C,T0* a1){
T6 R=0;
T2 _i=0;
_i=1;
while (!((R)||((_i)>((/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/)))))
{
R=r58has_redefine((T58*)(r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i)),a1);
_i=(_i)+(1);
}
return R;
}
T0* r57repeated_inheritance(T57* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _bc1=NULL;
T0* _p2=NULL;
T2 _i=0;
_bc1=r58base_class(((T58*)a1));
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_p2=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
/*[IF*/
if((a1)!=((void*)(_p2))){
/*[IF*/
if((_bc1)==((void*)(r58base_class(((T58*)_p2))))){
/*[IF*/
if((X82to_string(r58do_rename(((T58*)_p2),a2)))==((void*)(X82to_string(a3)))){
R=a3;
}
else if((X82to_string(r58do_rename(((T58*)a1),a2)))==((void*)(X82to_string(a3)))){
R=a3;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if((R)==((void*)(NULL))){
R=a2;
}
/*FI]*/
return R;
}
T0* r57precursor_for(T57* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _f2=NULL;
T0* _parent=NULL;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!(((R)!=((void*)(NULL)))||((_i)==(0))))
{
_parent=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
R=r58precursor_for(((T58*)_parent),a1,a2);
_i=(_i)-(1);
}
/*[IF*/
if((R)==((void*)(NULL))){
r66add_position(/*SSWARF2*//*X167start_position*/(/*RF2*/(((T168*)a1))->_start_position/*4*/));
r57fatal_error(((T0*)ms57_50372));
}
/*FI]*/
/*[IF*/
if(r47all_check((T47*)(oBC13run_control))){
while (!((_i)==(0)))
{
_parent=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_f2=r58precursor_for(((T58*)_parent),a1,a2);
/*[IF*/
if(((_f2)!=((void*)(NULL)))&&((_f2)!=((void*)(R)))){
r66add_position(/*SSWARF2*//*X167start_position*/(/*RF2*/(((T168*)a1))->_start_position/*4*/));
{T68 se_tmp0;
r66add_position((*(se_tmp0=X302start_position(R),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X302start_position(_f2),&se_tmp0)));
}
r57fatal_error(((T0*)ms57_162378));
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
void r57make(T57* C,T0* a1,T68 a2,T0* a3,T0* a4){
(/*SFN*/C->_base_class)=a1;
(/*SFN*/C->_heading_comment)=a3;
(/*SFN*/C->_start_position)=a2;
(/*SFN*/C->_list)=a4;
}
void r57fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T0* r57smallest_ancestor(T57* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _sa=NULL;
T0* _p=NULL;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i)<=(0)))
{
_p=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_sa=r58runnable_type(((T58*)_p),a2);
/*[IF*/
if((R)==((void*)(NULL))){
R=_sa;
}
else if((X52run_time_mark(_sa))==((void*)(X52run_time_mark(a2)))){
R=_sa;
_i=0;
}
else if(X52is_a(_sa,a2)){
/*[IF*/
if(X52is_a(R,a2)){
R=X52smallest_ancestor(_sa,R);
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=_sa;
}
/*FI]*/
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
}
/*FI]*/
_i=(_i)-(1);
}
return R;
}
T6 r57has_parent(T57* C,T0* a1){
T6 R=0;
T0* _bc=NULL;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_bc=r58base_class((T58*)(r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i)));
/*[IF*/
if((a1)==((void*)(_bc))){
R=1;
_i=0;
}
else if(r51is_subclass_of_aux(((T51*)_bc),a1)){
R=1;
_i=0;
}
else{
_i=(_i)-(1);
}
/*FI]*/
}
return R;
}
T6 r57is_a_vncg(T57* C,T0* a1,T0* a2){
T6 R=0;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((R)||((_i)==(0))))
{
R=r58is_a_vncg((T58*)(r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i)),a1,a2);
_i=(_i)-(1);
}
return R;
}
void r57collect_assertion(T57* C,T0* a1){
T0* _fn2=NULL;
T0* _fn1=NULL;
T0* _p2=NULL;
T0* _p1=NULL;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_p2=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_fn2=r58name_in_parent(((T58*)_p2),a1);
/*[IF*/
if(((_fn2)!=((void*)(NULL)))&&(r58has_select_for(((T58*)_p2),a1))){
_p1=_p2;
_fn1=_fn2;
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if((_fn1)!=((void*)(NULL))){
r51collect_assertion((T51*)(r58base_class(((T58*)_p1))),_fn1);
}
else{
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_p1=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_fn1=r58name_in_parent(((T58*)_p1),a1);
/*[IF*/
if((_fn1)!=((void*)(NULL))){
r51collect_assertion((T51*)(r58base_class(((T58*)_p1))),_fn1);
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
}
void r57collect_invariant(T57* C,T0* a1){
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
r51collect_invariant((T51*)(r58base_class((T58*)(r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i)))),a1);
_i=(_i)-(1);
}
}
T0* r57clients_for(T57* C,T0* a1){
T0* R=NULL;
T0* _cl=NULL;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_cl=r58clients_for((T58*)(r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i)),a1);
/*[IF*/
if((R)==((void*)(NULL))){
R=_cl;
}
else if((_cl)!=((void*)(NULL))){
R=r99append(((T99*)R),_cl);
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
_i=(_i)-(1);
}
else if(r99gives_permission_to_any(((T99*)R))){
_i=0;
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
_i=(_i)-(1);
}
/*FI]*/
}
return R;
}
T0* r57look_up_for(T57* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _f2=NULL;
T0* _f1=NULL;
T0* _p2=NULL;
T0* _p1=NULL;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!(((_f1)!=((void*)(NULL)))||((_i)==(0))))
{
_p1=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_f1=r58look_up_for(((T58*)_p1),a1,a2);
_i=(_i)-(1);
}
while (!((_i)==(0)))
{
_p2=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_f2=r58look_up_for(((T58*)_p2),a1,a2);
/*[IF*/
if((_f2)==((void*)(NULL))){
}
else if((_f1)==((void*)(_f2))){
}
else if(X90is_not_mergeable_with(_f2,_f1)){
r66add_position((/*RF2*/(C)->_start_position/*4*/));
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(_f1),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(_f2),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms14_33308);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
else if(X90is_deferred(_f2)){
}
else if(X90is_deferred(_f1)){
_f1=_f2;
_p1=_p2;
}
else if(r58has_redefine(((T58*)_p1),a2)){
/*[IF*/
if(r58has_redefine(((T58*)_p2),a2)){
}
else{
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a2),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=r58start_position(((T58*)_p2)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(_f2),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms57_23940);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
}
else if(r58has_redefine(((T58*)_p2),a2)){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a2),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=r58start_position(((T58*)_p1)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(_f1),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms57_23940);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
else{
{T68 se_tmp0;
r66add_position((*(se_tmp0=r58start_position(((T58*)_p2)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=r58start_position(((T58*)_p1)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(_f1),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(_f2),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms57_23940);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
_i=(_i)-(1);
}
R=_f1;
return R;
}
T0* r57original_name(T57* C,T0* a1,T0* a2){
T0* R=NULL;
T2 _i=0;
T0* _fn1=NULL;
T0* _p1=NULL;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!(((_i)==(0))||((_fn1)!=((void*)(NULL)))))
{
_p1=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_fn1=r58original_name(((T58*)_p1),a1,a2);
_i=(_i)-(1);
}
R=_fn1;
/*[IF*/
if((R)==((void*)(NULL))){
R=a2;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a2),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=(/*RF2*/((T61*)((/*RF2*/(((T51*)a1))->_name/*18*/)))->_to_string/*8*/);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms57_125391);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_warning((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r57e_feature(T57* C,T0* a1){
T0* R=NULL;
T2 _i=0;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!(((R)!=((void*)(NULL)))||((_i)==(0))))
{
R=r58e_feature((T58*)(r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i)),a1);
_i=(_i)-(1);
}
return R;
}
void r57get_started(T57* C){
T0* _p2=NULL;
T0* _p1=NULL;
T2 _i2=0;
T2 _i1=0;
_i1=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i1)==(0)))
{
r58get_started((T58*)(r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i1)),(T0*)C);
_i1=(_i1)-(1);
}
/*[IF*/
if(((/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/))>(1)){
_i2=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!((_i2)==(1)))
{
_i1=1;
while (!((_i1)==(_i2)))
{
_p1=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i1);
_p2=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i2);
r58multiple_check(((T58*)_p1),_p2);
r58multiple_check(((T58*)_p2),_p1);
_i1=(_i1)+(1);
}
_i2=(_i2)-(1);
}
}
/*FI]*/
}
T0* r57up_to_original(T57* C,T0* a1,T0* a2){
T0* R=NULL;
T2 _i=0;
T0* _new_fn=NULL;
T0* _fn2=NULL;
T0* _fn1=NULL;
T0* _p2=NULL;
T0* _p1=NULL;
_i=(/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/);
while (!(((_i)==(0))||((_fn1)!=((void*)(NULL)))))
{
_p1=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_fn1=r58up_to_original(((T58*)_p1),a1,a2);
_i=(_i)-(1);
}
while (!((_i)==(0)))
{
_p2=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_fn2=r58up_to_original(((T58*)_p2),a1,a2);
/*[IF*/
if((_fn2)!=((void*)(NULL))){
_new_fn=r58do_rename(((T58*)_p2),a2);
/*[IF*/
if(r58has_select_for(((T58*)_p2),_new_fn)){
_p1=_p2;
_fn1=_fn2;
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if((_fn1)!=((void*)(NULL))){
/*[IF*/
if((X82to_string(_fn1))!=((void*)(X82to_string(a2)))){
R=r57repeated_inheritance(C,_p1,_fn1,a2);
}
else{
R=_fn1;
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r57next_parent_for(T57* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _pbc=NULL;
T2 _i=0;
_i=1;
while (!((R)==((void*)(a2))))
{
R=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_i=(_i)+(1);
}
R=NULL;
while (!(((R)!=((void*)(NULL)))||((_i)>(r59count((T59*)((/*RF2*/(C)->_list/*16*/)))))))
{
R=r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i);
_pbc=r58base_class(((T58*)R));
/*[IF*/
if((_pbc)==((void*)(a1))){
}
else if(r51is_subclass_of(((T51*)_pbc),a1)){
}
else{
R=NULL;
}
/*FI]*/
_i=(_i)+(1);
}
return R;
}
void r57id_extra_information(T57* C,T0* a1){
T2 _i=0;
r48put_integer(((T48*)a1),/*(IRF4.6count*/(/*RF2*/(((T59*)((/*RF2*/(C)->_list/*16*/))))->_upper/*8*/)/*)*/);
r48put_string(((T48*)a1),((T0*)ms57_7760));
_i=1;
while (!((_i)>((/*RF2*/((T59*)((/*RF2*/(C)->_list/*16*/)))->_upper/*8*/))))
{
/*[IRF3.6id_extra_information*/{T58* C1=(T58*)(r59item((T59*)((/*RF2*/(C)->_list/*16*/)),_i));
T0* b1=a1;
r48put_integer(((T48*)b1),(/*RF2*/((T51*)(r58base_class(C1)))->_id/*0*/));
}/*]*/
/*[IRF3.6put_character*/{T48* C1=((T48*)a1);
T3 b1=((T3)'\40');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
_i=(_i)+(1);
}
}
void r397default_mapping_procedure(T397* C){
r397default_mapping_function(C);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
}
T2 r397id(T397* C){
T2 R=0;
R=X52id((/*RF2*/(C)->_current_type/*8*/));
return R;
}
void r397address_of_c_mapping_wrapper(T397* C){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
r397address_of_wrapper_name_in(C,oBC334c_code);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
void r397fall_down(T397* C){
T0* _rf=NULL;
T0* _sub_name=NULL;
T0* _sub_bc=NULL;
T0* _current_bc=NULL;
T0* _sub_rc=NULL;
T0* _current_rc=NULL;
T2 _i=0;
T0* _running=NULL;
_current_rc=X52run_class((/*RF2*/(C)->_current_type/*8*/));
_running=(/*RF2*/(((T50*)_current_rc))->_running/*9*/);
/*[IF*/
if((_running)!=((void*)(NULL))){
_current_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
_i=(/*RF2*/(((T53*)_running))->_lower/*12*/);
while (!((_i)>((/*RF2*/(((T53*)_running))->_upper/*8*/))))
{
_sub_rc=r53item(((T53*)_running),_i);
/*[IF*/
if((_sub_rc)!=((void*)(_current_rc))){
_sub_bc=X52base_class((/*RF2*/(((T50*)_sub_rc))->_current_type/*0*/));
_sub_name=r51new_name_of(((T51*)_sub_bc),_current_bc,(/*RF2*/(C)->_name/*12*/));
_rf=r50get_feature(((T50*)_sub_rc),_sub_name);
}
/*FI]*/
_i=(_i)+(1);
}
}
/*FI]*/
}
void r397c_define(T397* C){
r363c_define_o_flag((T0*)C);
r397define_prototype(C);
r363c_test_o_flag((T0*)C);
r397c_define_opening(C);
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
r215compile_to_c((T215*)((/*RF2*/(C)->_routine_body/*40*/)));
}
/*FI]*/
r397c_define_closing(C);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms397_1540));
/*]*/
r397c_frame_descriptor(C);
}
T0* r397clients(T397* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_clients_memory/*4*/))==((void*)(NULL))){
_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
_bfbc=(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/);
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_clients/*16*/);
}
else{
R=r51clients_for(((T51*)_bc),(/*RF2*/(C)->_name/*12*/));
}
/*FI]*/
(/*SFN*/C->_clients_memory)=R;
}
else{
R=(/*RF2*/(C)->_clients_memory/*4*/);
}
/*FI]*/
return R;
}
void r397put_c_name_tag(T397* C){
T0* _fn=NULL;
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\42');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
_fn=/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_names/*8*/))))->_first/*0*/)/*)*/;
/*[IF*/
if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
X82put_cpp_tag((/*RF2*/(C)->_name/*12*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\40');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
X82put_cpp_tag(_fn);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string(_fn));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_1108));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/((T61*)(/*(IRF4.6base_class_name*/(/*RF2*/(((T51*)((/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/))))->_name/*18*/)/*)*/))->_to_string/*8*/));
/*]*/
/*[IF*/
if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\42');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
void r397std_compute_use_current(T397* C){
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_require_assertion/*32*/))!=((void*)(NULL))){
/*[IF*/
if(r376use_current((T376*)((/*RF2*/(C)->_require_assertion/*32*/)))){
(/*SFN*/C->_use_current_state)=22;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
/*[IF*/
if(r215use_current((T215*)((/*RF2*/(C)->_routine_body/*40*/)))){
(/*SFN*/C->_use_current_state)=22;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
/*[IF*/
if(r215use_current((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)))){
(/*SFN*/C->_use_current_state)=22;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
/*[IF*/
if(r214use_current((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)))){
(/*SFN*/C->_use_current_state)=22;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
(/*SFN*/C->_use_current_state)=21;
}
/*FI]*/
}
void r397address_of_c_define(T397* C,T0* a1){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
/*[IF*/
if(r397use_current(C)){
}
else{
r397address_of_c_define_wrapper(C,a1);
}
/*FI]*/
}
else{
r397address_of_c_define_wrapper(C,a1);
}
/*FI]*/
}
T0* r397run_ensure(T397* C){
T0* R=NULL;
R=r51run_ensure((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
return R;
}
void r397default_mapping_function(T397* C){
T6 _tcbd=0;
T6 _uc=0;
T6 _no_check=0;
_no_check=r47no_check((T47*)(oBC13run_control));
_uc=r397use_current(C);
/*[IF*/
if(!(_uc)){
_tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
r397mapping_name(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(_no_check){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_759));
/*]*/
}
/*FI]*/
/*[IF*/
if(_uc){
/*[IF*/
if(_no_check){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325put_target_as_target((T325*)(oBC13cpp));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
/*[IF*/
if((_uc)||(_no_check)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325put_arguments((T325*)(oBC13cpp));
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if((!(_uc))&&(_tcbd)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r397address_of_wrapper_name_in(T397* C,T0* a1){
r7extend(((T7*)a1),((T3)'W'));
r2append_in(r397id(C),a1);
X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
}
void r397make(T397* C,T0* a1,T0* a2,T0* a3){
(/*SFN*/C->_current_type)=a1;
(/*SFN*/C->_name)=a2;
(/*SFN*/C->_base_feature)=a3;
r50add_rf((T50*)(r397run_class(C)),(T0*)C,X82to_key(a2));
r49incr_magic_count((T49*)(oBC13small_eiffel));
(/*SFN*/C->_use_current_state)=23;
(/*SFN*/C->_stupid_switch_state)=23;
r49push((T49*)(oBC13small_eiffel),(T0*)C);
r397initialize(C);
r49pop((T49*)(oBC13small_eiffel));
}
void r397c_assertion_flag(T397* C){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
r397c_frame_descriptor_name_in(C,oBC334c_code);
r7append((T7*)(oBC334c_code),((T0*)ms334_30285));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
void r397c_define_opening(T397* C){
T0* _oresult=NULL;
T6 _ensure_check=0;
T6 _no_check=0;
T0* _t=NULL;
_no_check=r47no_check((T47*)(oBC13run_control));
_ensure_check=r47ensure_check((T47*)(oBC13run_control));
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_21346));
/*]*/
}
/*FI]*/
/*[IF*/
/*AF*//*AF*//*AE*/
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_local_vars/*36*/))!=((void*)(NULL))){
r169c_declare((T169*)((/*RF2*/(C)->_local_vars/*36*/)));
}
/*FI]*/
/*[IF*/
if(_ensure_check){
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
r214c_declare_for_old((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_no_check){
/*[IF*/
if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
r7copy((T7*)(oBC334c_code),((T0*)ms334_21567));
/*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
/*]*/
r7extend((T7*)(oBC334c_code),((T3)'\135'));
r7append((T7*)(oBC334c_code),((T0*)ms14_138));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
/*FI]*/
r397c_initialize_ds_one_by_one(C);
/*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
T2 _j=0;
T2 _i=0;
_j=1;
while (!(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))==(_i)))
{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_8120));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_i);
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_308));
/*]*/
_c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
while (!((_c)==(((T3)'\54'))))
{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=_c;
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
_j=(_j)+(1);
_c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
}
_j=(_j)+(1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
_i=(_i)+(1);
}
}/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520a));
/*]*/
}
/*FI]*/
/*[IF*/
if(_ensure_check){
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
r214compile_to_c_old((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_23008));
/*]*/
r215compile_to_c((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_47752));
/*]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_local_vars/*36*/))!=((void*)(NULL))){
r169initialize_expanded((T169*)((/*RF2*/(C)->_local_vars/*36*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_7436));
/*]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_require_assertion/*32*/))!=((void*)(NULL))){
r376compile_to_c((T376*)((/*RF2*/(C)->_require_assertion/*32*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_57680));
/*]*/
/*[IF*/
if(_no_check){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11988));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520));
/*]*/
}
/*FI]*/
}
/*FI]*/
}
void r397c_define_closing(T397* C){
/*[IF*/
if(r47ensure_check((T47*)(oBC13run_control))){
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
r214compile_to_c((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r397use_current(C)){
/*[IF*/
if((X82to_string((/*RF2*/(C)->_name/*12*/)))!=((void*)(((T0*)ms15_8750)))){
r325current_class_invariant((/*RF2*/(C)->_current_type/*8*/));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_25380));
/*]*/
}
/*FI]*/
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_19400));
/*]*/
}
/*FI]*/
}
void r397initialize(T397* C){
(/*SFN*/C->_arguments)=(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_arguments/*20*/);
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
/*[IF*/
if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
{T178*n=((T178*)malloc(sizeof(*n))/*12*/);
*n=M178;
r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
(/*SFN*/C->_arguments)=((T0*)n);
}
}
/*FI]*/
}
/*FI]*/
(/*SFN*/C->_local_vars)=(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_local_vars/*40*/);
/*[IF*/
if(((/*RF2*/(C)->_local_vars/*36*/))!=((void*)(NULL))){
(/*SFN*/C->_local_vars)=r169to_runnable((T169*)((/*RF2*/(C)->_local_vars/*36*/)),(/*RF2*/(C)->_current_type/*8*/));
}
/*FI]*/
(/*SFN*/C->_routine_body)=(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_routine_body/*44*/);
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
(/*SFN*/C->_routine_body)=r215to_runnable((T215*)((/*RF2*/(C)->_routine_body/*40*/)),(/*RF2*/(C)->_current_type/*8*/));
}
/*FI]*/
/*[IF*/
if(r47require_check((T47*)(oBC13run_control))){
(/*SFN*/C->_require_assertion)=r397run_require(C);
}
/*FI]*/
/*[IF*/
if(r47ensure_check((T47*)(oBC13run_control))){
(/*SFN*/C->_ensure_assertion)=r397run_ensure(C);
}
/*FI]*/
(/*SFN*/C->_rescue_compound)=(/*RF2*/((T306*)((/*RF2*/(C)->_base_feature/*24*/)))->_rescue_compound/*48*/);
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))==((void*)(NULL))){
(/*SFN*/C->_rescue_compound)=r397default_rescue_compound(C);
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
/*[IRF3.3set_used*/((((T380*)((T380*)(oBC13exceptions_handler))))->_used)=(1);
/*]*/
(/*SFN*/C->_rescue_compound)=r215to_runnable((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)),(/*RF2*/(C)->_current_type/*8*/));
}
/*FI]*/
r363register_procedure((T0*)C);
}
void r397address_of_c_define_wrapper(T397* C,T0* a1){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
/*[IF*/
{/*AT*/r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\40'));
r397address_of_wrapper_name_in(C,oBC334c_code);
r7extend((T7*)(oBC334c_code),((T3)'\50'));
X52c_type_for_external_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
r7extend((T7*)(oBC334c_code),((T3)'\40'));
r7extend((T7*)(oBC334c_code),((T3)'C'));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
r7extend((T7*)(oBC334c_code),((T3)'\54'));
r178external_prototype_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\51'));
r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
r338define_body_of((T0*)C);
}
void r397std_compute_stupid_switch(T397* C,T0* a1){
T0* _rt=NULL;
_rt=/*(IRF4.1result_type*/NULL/*)*/;
/*[IF*/
if(((_rt)!=((void*)(NULL)))&&(X52is_user_expanded(_rt))){
(/*SFN*/C->_stupid_switch_state)=21;
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
/*[IF*/
if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_routine_body/*40*/)),a1))){
(/*SFN*/C->_stupid_switch_state)=21;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
/*[IF*/
if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)),a1))){
(/*SFN*/C->_stupid_switch_state)=21;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
(/*SFN*/C->_stupid_switch_state)=22;
}
/*FI]*/
}
void r397routine_afd_check(T397* C){
/*[IF*/
if(((/*RF2*/(C)->_require_assertion/*32*/))!=((void*)(NULL))){
r376afd_check((T376*)((/*RF2*/(C)->_require_assertion/*32*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
r215afd_check((T215*)((/*RF2*/(C)->_routine_body/*40*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
r215afd_check((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
r214afd_check((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)));
}
/*FI]*/
}
T0* r397run_require(T397* C){
T0* R=NULL;
R=r51run_require((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
return R;
}
void r397mapping_name(T397* C){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC334c_code),((T3)'r'));
r2append_in(r397id(C),oBC334c_code);
X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
void r397c_initialize_ds_one_by_one(T397* C){
r7copy((T7*)(oBC334c_code),((T0*)ms334_36950));
r397c_frame_descriptor_name_in(C,oBC334c_code);
r7append((T7*)(oBC334c_code),((T0*)ms14_138));
/*[IF*/
if(r397use_current(C)){
r7append((T7*)(oBC334c_code),((T0*)ms334_18175));
}
else{
r7append((T7*)(oBC334c_code),((T0*)ms334_10999));
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
{T68 se_tmp0;
r325put_position_in_ds(/*(IRF4.6start_position*/(*(se_tmp0=r306start_position(((T306*)((/*RF2*/(C)->_base_feature/*24*/)))),&se_tmp0))/*)*/);
}
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11466));
/*]*/
/*[IF*/
if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11880));
/*]*/
}
/*FI]*/
}
T6 r397use_current(T397* C){
T6 R=0;
{int z1=(/*RF2*/(C)->_use_current_state/*16*/);
if((22==z1)){
R=1;
}
else
if((21==z1)){
}
else
if((23==z1)){
(/*SFN*/C->_use_current_state)=24;
/*[IRF3.4compute_use_current*/r397std_compute_use_current(C);
/*]*/
R=((/*RF2*/(C)->_use_current_state/*16*/))==(22);
}
else {R=1;
}}
return R;
}
T6 r397is_exported_in(T397* C,T0* a1){
T6 R=0;
R=r99gives_permission_to((T99*)(r397clients(C)),a1);
return R;
}
T0* r397default_rescue_compound(T397* C){
T0* R=NULL;
R=r50get_default_rescue((T50*)(r397run_class(C)),(/*RF2*/(C)->_name/*12*/));
return R;
}
T0* r397run_class(T397* C){
T0* R=NULL;
R=X52run_class((/*RF2*/(C)->_current_type/*8*/));
return R;
}
void r397fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T0* r397stupid_switch(T397* C,T0* a1){
T0* R=NULL;
{int z1=(/*RF2*/(C)->_stupid_switch_state/*20*/);
if((22==z1)){
R=((T0*)ms397_5460);
}
else
if((21==z1)){
}
else
if((23==z1)){
(/*SFN*/C->_stupid_switch_state)=24;
/*[IRF3.6compute_stupid_switch*/{T397* C1=C;
T0* b1=a1;
r397std_compute_stupid_switch(C1,b1);
}/*]*/
/*[IF*/
if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(22)){
R=((T0*)ms397_5460);
}
/*FI]*/
}
else {}}
return R;
}
void r397define_prototype(T397* C){
T6 _no_check=0;
T2 _mem_id=0;
_no_check=r47no_check((T47*)(oBC13run_control));
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
/*[IRF3.3reset*/((((T203*)((T203*)(oBC13c_frame_descriptor_local_count))))->_value)=(0);
/*]*/
/*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_format))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\42'));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_locals))))->_count)=(0);
/*]*/
}
/*FI]*/
_mem_id=r397id(C);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
/*[IF*/
{/*AT*/r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\40'));
r7extend((T7*)(oBC334c_code),((T3)'r'));
r2append_in(_mem_id,oBC334c_code);
X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
r7extend((T7*)(oBC334c_code),((T3)'\50'));
/*[IF*/
if(_no_check){
r7append((T7*)(oBC334c_code),((T0*)ms334_56160));
/*[IF*/
if((r397use_current(C))||(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL)))){
r7extend((T7*)(oBC334c_code),((T3)'\54'));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r397use_current(C)){
X52c_type_for_target_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
r7extend((T7*)(oBC334c_code),((T3)'\40'));
r7extend((T7*)(oBC334c_code),((T3)'C'));
X52c_frame_descriptor((/*RF2*/(C)->_current_type/*8*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
r7extend((T7*)(oBC334c_code),((T3)'\54'));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
/*[IF*/
if(_no_check){
}
else if(!(r397use_current(C))){
r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
}
/*FI]*/
}
else{
r178compile_to_c_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\51'));
r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
/*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
/*]*/
}
void r397c_frame_descriptor(T397* C){
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
r7copy((T7*)(oBC334c_code),((T0*)ms334_23340));
r397c_frame_descriptor_name_in(C,oBC334c_code);
r325put_extern7((T325*)(oBC13cpp),oBC334c_code);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\173');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r397put_c_name_tag(C);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC334c_code),((T3)'\54'));
/*[IF*/
if(r397use_current(C)){
r7extend((T7*)(oBC334c_code),((T3)'1'));
}
else{
r7extend((T7*)(oBC334c_code),((T3)'0'));
}
/*FI]*/
r7extend((T7*)(oBC334c_code),((T3)'\54'));
/*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
/*]*/
r7extend((T7*)(oBC334c_code),((T3)'\54'));
r7append((T7*)(oBC334c_code),oBC13c_frame_descriptor_format);
r7append((T7*)(oBC334c_code),((T0*)ms334_2226));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
/*]*/
}
/*FI]*/
}
void r397address_of_c_mapping(T397* C){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
/*[IF*/
if(r397use_current(C)){
r397mapping_name(C);
}
else{
r397address_of_c_mapping_wrapper(C);
}
/*FI]*/
}
else{
r397address_of_c_mapping_wrapper(C);
}
/*FI]*/
}
void r397c_frame_descriptor_name_in(T397* C,T0* a1){
r7extend(((T7*)a1),((T3)'f'));
r2append_in(r397id(C),a1);
X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
}
void r39make(T39* C){
r42put((T42*)(oBC39id_memory),1,((T0*)ms15_6307));
r42put((T42*)(oBC39id_memory),2,((T0*)ms15_6643));
r42put((T42*)(oBC39id_memory),3,((T0*)ms15_9801));
r42put((T42*)(oBC39id_memory),4,((T0*)ms15_1168));
r42put((T42*)(oBC39id_memory),5,((T0*)ms15_4728));
r42put((T42*)(oBC39id_memory),6,((T0*)ms15_6405));
r42put((T42*)(oBC39id_memory),7,((T0*)ms15_4956));
r42put((T42*)(oBC39id_memory),8,((T0*)ms15_6776));
r42put((T42*)(oBC39id_memory),9,((T0*)ms15_58075));
r42put((T42*)(oBC39id_memory),10,((T0*)ms15_696));
(/*SFN*/C->_max_id)=10;
r39disk_restore(C);
}
T0* r39string_aliaser(void){
if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
{T21*n=((T21*)malloc(1));
oBC13string_aliaser=((T0*)n);
/*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22524));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_29246));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22596));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_60016));
r21add2(((T0*)ms15_26880));
r21add2(((T0*)ms15_33240));
r21add2(((T0*)ms15_21624));
r21add2(((T0*)ms15_60060));
r21add2(((T0*)ms15_26908));
r21add2(((T0*)ms15_33270));
r21add2(((T0*)ms15_21648));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*]*/
}
}}
return oBC13string_aliaser;
}
T0*oBC39temporary_type_name=NULL;
T0* r39alias_of(T2 a1){
T0* R=NULL;
R=r42fast_key_at((T42*)(oBC39id_memory),a1);
return R;
}
T0* r39system_tools(void){
if(fBC13system_tools==0){fBC13system_tools=1;{
{T43*n=((T43*)malloc(sizeof(*n))/*17*/);
*n=M43;
oBC13system_tools=((T0*)n);
r43make(n);
}
}}
return oBC13system_tools;
}
void r39disk_restore(T39* C){
T2 _state=0;
T0* _sfr=NULL;
T2 _item_count=0;
T2 _id=0;
T0* _type_name=NULL;
T3 _cc=0;
{T40*n=((T40*)malloc(sizeof(*n))/*13*/);
*n=M40;
/*[IRF3.1make*//*]*/
_sfr=((T0*)n);
}
r35sfr_connect((T35*)(oBC13echo),_sfr,r43id_file_path((T43*)(r39system_tools())));
/*[IF*/
if(/*(IRF4.7is_connected*/((/*RF2*/(((T40*)_sfr))->_path/*1*/))!=(NULL)/*)*/){
/*[IF*/
if(r40end_of_input(((T40*)_sfr))){
_state=6;
}
/*FI]*/
while (!((_state)>(4)))
{
r40read_character(((T40*)_sfr));
/*[IF*/
if(r40end_of_input(((T40*)_sfr))){
_state=5;
}
else{
_cc=/*(IRF4.6last_character*/((T3)((/*RF2*/(((T40*)_sfr))->_memory/*9*/)))/*)*/;
}
/*FI]*/
{int z1=_state;
if((0==z1)){
{int z2=_cc;
if(((9<=z2)&&(z2<=10))||(13==z2)||(32==z2)){
}
else
if(((48<=z2)&&(z2<=57))){
_id=r3decimal_value(_cc);
_state=1;
}
else{_state=6;
}}
}
else
if((1==z1)){
{int z2=_cc;
if(((48<=z2)&&(z2<=57))){
_id=((_id)*(10))+(r3decimal_value(_cc));
}
else
if((34==z2)){
_type_name=oBC39temporary_type_name;
/*[IRF3.3clear*/((((T7*)(((T7*)_type_name))))->_count)=(0);
/*]*/
_state=3;
}
else
if((9==z2)||(32==z2)){
_state=2;
}
else{_state=6;
}}
}
else
if((2==z1)){
{int z2=_cc;
if((34==z2)){
_type_name=oBC39temporary_type_name;
/*[IRF3.3clear*/((((T7*)(((T7*)_type_name))))->_count)=(0);
/*]*/
_state=3;
}
else
if(((9<=z2)&&(z2<=10))||(13==z2)||(32==z2)){
}
else{_state=6;
}}
}
else
if((3==z1)){
{int z2=_cc;
if((34==z2)){
_type_name=((/*UT*/(void)((T21*)(r39string_aliaser()))),r21item(_type_name));
_item_count=(_item_count)+(1);
r42put((T42*)(oBC39id_memory),_id,_type_name);
(/*SFN*/C->_max_id)=r2max((/*RF2*/(C)->_max_id/*0*/),_id);
_state=4;
}
else
if(((9<=z2)&&(z2<=10))||(13==z2)){
_state=6;
}
else{r7extend(((T7*)_type_name),_cc);
}}
}
else
if((4==z1)){
{int z2=_cc;
if((10==z2)||(13==z2)){
_state=0;
}
}
}
}
}
r40disconnect(((T40*)_sfr));
/*[IF*/
if((_state)==(6)){
r35put_string((T35*)(oBC13echo),((T0*)ms39_37449));
r35put_integer((T35*)(oBC13echo),_item_count);
r35put_string((T35*)(oBC13echo),((T0*)ms39_10880));
}
/*FI]*/
r35put_string((T35*)(oBC13echo),((T0*)ms39_33074));
r35put_integer((T35*)(oBC13echo),(/*RF2*/((T42*)(oBC39id_memory))->_count/*36*/));
r35put_character((T35*)(oBC13echo),((T3)'\57'));
r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_max_id/*0*/));
r35put_string((T35*)(oBC13echo),((T0*)ms39_291));
}
/*FI]*/
}
T0*oBC39id_memory=NULL;
T2 r39item(T39* C,T0* a1){
T2 R=0;
/*[IF*/
if(r42has((T42*)(oBC39id_memory),a1)){
R=r42at((T42*)(oBC39id_memory),a1);
}
else{
(/*SFN*/C->_max_id)=((/*RF2*/(C)->_max_id/*0*/))+(1);
R=(/*RF2*/(C)->_max_id/*0*/);
r42put((T42*)(oBC39id_memory),R,a1);
}
/*FI]*/
return R;
}
void r130compile_to_c_old(T130* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
T0* r130runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r130fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}